package com.stylefeng.guns.rest.common.persistence.model;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotations.Version;
import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

/**
 * <p>
 * 红包表
 * </p>
 *
 * @author ruiyifeng123
 * @since 2018-09-17
 */
@TableName("wz_redpacket")
public class WzRedpacket extends Model<WzRedpacket> {

    private static final long serialVersionUID = 1L;

    /**
     * 红包编号
     */
    @TableId(value = "redpacket_id", type = IdType.AUTO)
    private Long redpacketId;
    /**
     * 广告标题
     */
    private String title;
    /**
     * 副标题
     */
    private String subtitle;
    /**
     * 封面图片url
     */
    @TableField("cover_url")
    private String coverUrl;
    /**
     * 广告内容
     */
    @TableField("adv_detail")
    private String advDetail;
    /**
     * 是否有详情：0-没有；1-有
     */
    @TableField("has_detail")
    private Integer hasDetail;
    /**
     * 联系商家信息id
     */
    @TableField("user_info_id")
    private Long userInfoId;
    /**
     * 优惠券id组合
     */
    @TableField("coupon_ids")
    private String couponIds;
    /**
     * 优惠券数量
     */
    @TableField("coupon_number")
    private Integer couponNumber;
    /**
     * 奖券剩余数量
     */
    @TableField("coupon_surplus")
    private Integer couponSurplus;
    /**
     * 商家问卷id
     */
    @TableField("adv_questionnaire_id")
    private String advQuestionnaireId;
    /**
     * 广告提问id
     */
    @TableField("adv_question_id")
    private String advQuestionId;
    /**
     * 调查问卷id
     */
    @TableField("questionnaire_id")
    private String questionnaireId;
    /**
     * 是否有问卷规则：0-没有；1-有；
     */
    @TableField("has_questionnaire_role")
    private Integer hasQuestionnaireRole;
    /**
     * 修改人id
     */
    @TableField("modifier_id")
    private Integer modifierId;
    /**
     * 姓名
     */
    @TableField("modifier_name")
    private String modifierName;
    /**
     * 发布用户编号
     */
    @TableField("user_code")
    private Long userCode;
    /**
     * 昵称
     */
    @TableField("nick_name")
    private String nickName;
    /**
     * 头像链接
     */
    @TableField("avatar_url")
    private String avatarUrl;
    /**
     * 发布类型：1-后台发布；2-商家发布；3-用户发布
     */
    @TableField("publishing_type")
    private Integer publishingType;
    /**
     * 类型：1-非即时广告；2-即时广告
     */
    private Integer type;
    /**
     * 子类型:1-广告;2-新闻;3-调查问卷;4-商家问卷;5-广告问卷;6-知识问卷;100-开启定位;101-数据统计;102-暂无信息;103-新手指导;
     */
    private Integer subtype;
    /**
     * 状态：1-编辑中；2-审核中；3-审核驳回；4-审核通过；5-发布中人数未满；6-发布中人数已满;7-失效；8-失效处理
     */
    private Integer status;
    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 发布时间
     */
    @TableField("release_time")
    private String releaseTime;
    /**
     * 发布时间
     */
    private Date release;
    /**
     * 删除标记:0-否1-是
     */
    @TableField("del_flag")
    private Integer delFlag;
    /**
     * 推送人数
     */
    @TableField("push_number")
    private Integer pushNumber;
    /**
     * 总数量
     */
    @TableField("total_number")
    private Integer totalNumber;
    /**
     * 日推总数
     */
    @TableField("daily_total_number")
    private Integer dailyTotalNumber;
    /**
     * 日推数量
     */
    @TableField("daily_push_number")
    private Integer dailyPushNumber;
    /**
     * 广告发布费用
     */
    private Integer expense;
    /**
     * 广告服务费
     */
    @TableField("service_charge")
    private Integer serviceCharge;
    /**
     * 赏金总额
     */
    @TableField("total_reward")
    private Integer totalReward;
    /**
     * 剩余赏金
     */
    @TableField("surplus_reward")
    private Integer surplusReward;
    /**
     * 推送类型：1-全推；2-日推
     */
    @TableField("push_type")
    private Integer pushType;
    /**
     * 用户赏金
     */
    @TableField("reward_average")
    private Integer rewardAverage;
    /**
     * 广告分成
     */
    @TableField("reward_fee")
    private Integer rewardFee;
    /**
     * 赏金类型：1-随机；2-平均；
     */
    @TableField("reward_type")
    private Integer rewardType;
    /**
     * 开始时间
     */
    @TableField("begin_time")
    private Date beginTime;
    /**
     * 结束时间
     */
    @TableField("end_time")
    private Date endTime;
    /**
     * 筛选性别:0-全部；1-男；2-女；
     */
    @TableField("screen_gender")
    private Integer screenGender;
    /**
     * 筛选最小年龄
     */
    @TableField("screen_min_age")
    private Integer screenMinAge;
    /**
     * 筛选最大年龄
     */
    @TableField("screen_max_age")
    private Integer screenMaxAge;
    /**
     * 筛选所在城市
     */
    @TableField("screen_city")
    private String screenCity;
    /**
     * 筛选范围
     */
    @TableField("screen_range")
    private String screenRange;
    /**
     * 是否大图：0-小图；1-大图；2-3张封面图；
     */
    @TableField("is_enlarge")
    private Integer isEnlarge;
    /**
     * 收藏数量
     */
    @TableField("collection_number")
    private Integer collectionNumber;
    /**
     * 喜欢数量
     */
    @TableField("like_number")
    private Integer likeNumber;
    /**
     * 分享链接
     */
    @TableField("share_link")
    private String shareLink;
    /**
     * 每次分享赏金
     */
    @TableField("share_reward")
    private Integer shareReward;
    /**
     * 分享人均收益
     */
    @TableField("share_average_reward")
    private Integer shareAverageReward;
    /**
     * 分享描述
     */
    @TableField("share_desc")
    private String shareDesc;
    /**
     * 跳转链接
     */
    private String link;
    /**
     * 连接名称
     */
    @TableField("link_name")
    private String linkName;
    /**
     * 间隔天数
     */
    @TableField("interval_days")
    private Integer intervalDays;

    @Version
    private Integer version;


    public Long getRedpacketId() {
        return redpacketId;
    }

    public void setRedpacketId(Long redpacketId) {
        this.redpacketId = redpacketId;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getSubtitle() {
        return subtitle;
    }

    public void setSubtitle(String subtitle) {
        this.subtitle = subtitle;
    }

    public String getCoverUrl() {
        return coverUrl;
    }

    public void setCoverUrl(String coverUrl) {
        this.coverUrl = coverUrl;
    }

    public String getAdvDetail() {
        return advDetail;
    }

    public void setAdvDetail(String advDetail) {
        this.advDetail = advDetail;
    }

    public Integer getHasDetail() {
        return hasDetail;
    }

    public void setHasDetail(Integer hasDetail) {
        this.hasDetail = hasDetail;
    }

    public Long getUserInfoId() {
        return userInfoId;
    }

    public void setUserInfoId(Long userInfoId) {
        this.userInfoId = userInfoId;
    }

    public String getCouponIds() {
        return couponIds;
    }

    public void setCouponIds(String couponIds) {
        this.couponIds = couponIds;
    }

    public Integer getCouponNumber() {
        return couponNumber;
    }

    public void setCouponNumber(Integer couponNumber) {
        this.couponNumber = couponNumber;
    }

    public Integer getCouponSurplus() {
        return couponSurplus;
    }

    public void setCouponSurplus(Integer couponSurplus) {
        this.couponSurplus = couponSurplus;
    }

    public String getAdvQuestionnaireId() {
        return advQuestionnaireId;
    }

    public void setAdvQuestionnaireId(String advQuestionnaireId) {
        this.advQuestionnaireId = advQuestionnaireId;
    }

    public String getAdvQuestionId() {
        return advQuestionId;
    }

    public void setAdvQuestionId(String advQuestionId) {
        this.advQuestionId = advQuestionId;
    }

    public String getQuestionnaireId() {
        return questionnaireId;
    }

    public void setQuestionnaireId(String questionnaireId) {
        this.questionnaireId = questionnaireId;
    }

    public Integer getHasQuestionnaireRole() {
        return hasQuestionnaireRole;
    }

    public void setHasQuestionnaireRole(Integer hasQuestionnaireRole) {
        this.hasQuestionnaireRole = hasQuestionnaireRole;
    }

    public Integer getModifierId() {
        return modifierId;
    }

    public void setModifierId(Integer modifierId) {
        this.modifierId = modifierId;
    }

    public String getModifierName() {
        return modifierName;
    }

    public void setModifierName(String modifierName) {
        this.modifierName = modifierName;
    }

    public Long getUserCode() {
        return userCode;
    }

    public void setUserCode(Long userCode) {
        this.userCode = userCode;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getAvatarUrl() {
        return avatarUrl;
    }

    public void setAvatarUrl(String avatarUrl) {
        this.avatarUrl = avatarUrl;
    }

    public Integer getPublishingType() {
        return publishingType;
    }

    public void setPublishingType(Integer publishingType) {
        this.publishingType = publishingType;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getSubtype() {
        return subtype;
    }

    public void setSubtype(Integer subtype) {
        this.subtype = subtype;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getReleaseTime() {
        return releaseTime;
    }

    public void setReleaseTime(String releaseTime) {
        this.releaseTime = releaseTime;
    }

    public Date getRelease() {
        return release;
    }

    public void setRelease(Date release) {
        this.release = release;
    }

    public Integer getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    public Integer getPushNumber() {
        return pushNumber;
    }

    public void setPushNumber(Integer pushNumber) {
        this.pushNumber = pushNumber;
    }

    public Integer getTotalNumber() {
        return totalNumber;
    }

    public void setTotalNumber(Integer totalNumber) {
        this.totalNumber = totalNumber;
    }

    public Integer getDailyTotalNumber() {
        return dailyTotalNumber;
    }

    public void setDailyTotalNumber(Integer dailyTotalNumber) {
        this.dailyTotalNumber = dailyTotalNumber;
    }

    public Integer getDailyPushNumber() {
        return dailyPushNumber;
    }

    public void setDailyPushNumber(Integer dailyPushNumber) {
        this.dailyPushNumber = dailyPushNumber;
    }

    public Integer getExpense() {
        return expense;
    }

    public void setExpense(Integer expense) {
        this.expense = expense;
    }

    public Integer getServiceCharge() {
        return serviceCharge;
    }

    public void setServiceCharge(Integer serviceCharge) {
        this.serviceCharge = serviceCharge;
    }

    public Integer getTotalReward() {
        return totalReward;
    }

    public void setTotalReward(Integer totalReward) {
        this.totalReward = totalReward;
    }

    public Integer getSurplusReward() {
        return surplusReward;
    }

    public void setSurplusReward(Integer surplusReward) {
        this.surplusReward = surplusReward;
    }

    public Integer getPushType() {
        return pushType;
    }

    public void setPushType(Integer pushType) {
        this.pushType = pushType;
    }

    public Integer getRewardAverage() {
        return rewardAverage;
    }

    public void setRewardAverage(Integer rewardAverage) {
        this.rewardAverage = rewardAverage;
    }

    public Integer getRewardFee() {
        return rewardFee;
    }

    public void setRewardFee(Integer rewardFee) {
        this.rewardFee = rewardFee;
    }

    public Integer getRewardType() {
        return rewardType;
    }

    public void setRewardType(Integer rewardType) {
        this.rewardType = rewardType;
    }

    public Date getBeginTime() {
        return beginTime;
    }

    public void setBeginTime(Date beginTime) {
        this.beginTime = beginTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Integer getScreenGender() {
        return screenGender;
    }

    public void setScreenGender(Integer screenGender) {
        this.screenGender = screenGender;
    }

    public Integer getScreenMinAge() {
        return screenMinAge;
    }

    public void setScreenMinAge(Integer screenMinAge) {
        this.screenMinAge = screenMinAge;
    }

    public Integer getScreenMaxAge() {
        return screenMaxAge;
    }

    public void setScreenMaxAge(Integer screenMaxAge) {
        this.screenMaxAge = screenMaxAge;
    }

    public String getScreenCity() {
        return screenCity;
    }

    public void setScreenCity(String screenCity) {
        this.screenCity = screenCity;
    }

    public String getScreenRange() {
        return screenRange;
    }

    public void setScreenRange(String screenRange) {
        this.screenRange = screenRange;
    }

    public Integer getIsEnlarge() {
        return isEnlarge;
    }

    public void setIsEnlarge(Integer isEnlarge) {
        this.isEnlarge = isEnlarge;
    }

    public Integer getCollectionNumber() {
        return collectionNumber;
    }

    public void setCollectionNumber(Integer collectionNumber) {
        this.collectionNumber = collectionNumber;
    }

    public Integer getLikeNumber() {
        return likeNumber;
    }

    public void setLikeNumber(Integer likeNumber) {
        this.likeNumber = likeNumber;
    }

    public String getShareLink() {
        return shareLink;
    }

    public void setShareLink(String shareLink) {
        this.shareLink = shareLink;
    }

    public Integer getShareReward() {
        return shareReward;
    }

    public void setShareReward(Integer shareReward) {
        this.shareReward = shareReward;
    }

    public Integer getShareAverageReward() {
        return shareAverageReward;
    }

    public void setShareAverageReward(Integer shareAverageReward) {
        this.shareAverageReward = shareAverageReward;
    }

    public String getShareDesc() {
        return shareDesc;
    }

    public void setShareDesc(String shareDesc) {
        this.shareDesc = shareDesc;
    }

    public String getLink() {
        return link;
    }

    public void setLink(String link) {
        this.link = link;
    }

    public String getLinkName() {
        return linkName;
    }

    public void setLinkName(String linkName) {
        this.linkName = linkName;
    }

    public Integer getIntervalDays() {
        return intervalDays;
    }

    public void setIntervalDays(Integer intervalDays) {
        this.intervalDays = intervalDays;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    @Override
    protected Serializable pkVal() {
        return this.redpacketId;
    }

    @Override
    public String toString() {
        return "WzRedpacket{" +
        "redpacketId=" + redpacketId +
        ", title=" + title +
        ", subtitle=" + subtitle +
        ", coverUrl=" + coverUrl +
        ", advDetail=" + advDetail +
        ", hasDetail=" + hasDetail +
        ", userInfoId=" + userInfoId +
        ", couponIds=" + couponIds +
        ", couponNumber=" + couponNumber +
        ", couponSurplus=" + couponSurplus +
        ", advQuestionnaireId=" + advQuestionnaireId +
        ", advQuestionId=" + advQuestionId +
        ", questionnaireId=" + questionnaireId +
        ", hasQuestionnaireRole=" + hasQuestionnaireRole +
        ", modifierId=" + modifierId +
        ", modifierName=" + modifierName +
        ", userCode=" + userCode +
        ", nickName=" + nickName +
        ", avatarUrl=" + avatarUrl +
        ", publishingType=" + publishingType +
        ", type=" + type +
        ", subtype=" + subtype +
        ", status=" + status +
        ", createTime=" + createTime +
        ", releaseTime=" + releaseTime +
        ", release=" + release +
        ", delFlag=" + delFlag +
        ", pushNumber=" + pushNumber +
        ", totalNumber=" + totalNumber +
        ", dailyTotalNumber=" + dailyTotalNumber +
        ", dailyPushNumber=" + dailyPushNumber +
        ", expense=" + expense +
        ", serviceCharge=" + serviceCharge +
        ", totalReward=" + totalReward +
        ", surplusReward=" + surplusReward +
        ", pushType=" + pushType +
        ", rewardAverage=" + rewardAverage +
        ", rewardFee=" + rewardFee +
        ", rewardType=" + rewardType +
        ", beginTime=" + beginTime +
        ", endTime=" + endTime +
        ", screenGender=" + screenGender +
        ", screenMinAge=" + screenMinAge +
        ", screenMaxAge=" + screenMaxAge +
        ", screenCity=" + screenCity +
        ", screenRange=" + screenRange +
        ", isEnlarge=" + isEnlarge +
        ", collectionNumber=" + collectionNumber +
        ", likeNumber=" + likeNumber +
        ", shareLink=" + shareLink +
        ", shareReward=" + shareReward +
        ", shareAverageReward=" + shareAverageReward +
        ", shareDesc=" + shareDesc +
        ", link=" + link +
        ", linkName=" + linkName +
        ", intervalDays=" + intervalDays +
        ", version=" + version +
        "}";
    }
}
